﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using MoviTiendas.Interfaz;
using MoviTiendas.Comunicacion;

namespace MoviTiendas
{
    public partial class MainPage : PhoneApplicationPage,SolicitanteComunicacion
    {
        // ------------------------------------------------------------------------------------
        // Constructor
        // ------------------------------------------------------------------------------------
        /**
         * Constructor de la clase
         */
        public MainPage()
        {
            
            if (Logica.MoviTienda.darInstancia.cliente != null)
            {
             //   MessageBox.Show("Carga exitosa de los datos");
                Comunicacion.Comunicacion comu = new Comunicacion.Comunicacion(this);
                comu.CargarBarrios();
            }
            else
            {
             //   MessageBox.Show("No hay nada guardado");
                InitializeComponent();
            }

        }

        // ------------------------------------------------------------------------------------
        // Métodos manejadores de eventos
        // ------------------------------------------------------------------------------------

        /**
         * Maneja el evento en el que se oprime el botón btnCrearPerfil
         * @sender - Objeto que envía el evento
         * @e - Evento
         */
        private void btnCrearPerfil_Click(object sender, RoutedEventArgs e)
        {
            NavigationService.Navigate(new Uri("/Interfaz/PaginaCrearPerfil.xaml", UriKind.RelativeOrAbsolute));
        }

        /**
         * Este método es llamado por la clase Comunicacion, una vez termine la carga del mundo.
         * Acá se debe cargar la interfaz con garantia de que el mundo ya tiene la información solicitada.
         */
        public void notificarCargaDeDatos()
        {
            NavigationService.Navigate(new Uri("/Interfaz/PaginaPrincipal.xaml", UriKind.RelativeOrAbsolute));
        }

        /**
         * Este método es llamado por la clase Comunicacion, una vez termine la busqueda por palabra clave.
         * Acá se deben realizar las acciones necesarias al obtener los resultados de la busqueda.
         */
        public void recibirResultadosBusquedaPalabraClave(List<MoviTiendas.Logica.Producto> resultados)
        {
        }
            
    }
}